package cn.com.anysdk.starter.config.ocr;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

@Data
@Component
@ConfigurationProperties(prefix = "anysdk.ocr")
public class AliyunOcrProperties {
    /**
     * 是否启用OCR服务
     */
    private boolean enabled = true;

    /**
     * OCR服务提供商
     */
    private String provider = "aliyun";

    /**
     * 服务端点
     */
    private String endpoint;

    /**
     * 通用OCR配置
     */
    private OcrKeyConfig general = new OcrKeyConfig();

    /**
     * 身份证OCR配置
     */
    private OcrKeyConfig idCard = new OcrKeyConfig();

    /**
     * 银行卡OCR配置
     */
    private OcrKeyConfig bankCard = new OcrKeyConfig();

    /**
     * 营业执照OCR配置
     */
    private OcrKeyConfig businessLicense = new OcrKeyConfig();

    /**
     * 连接超时时间（毫秒）
     */
    private int connectTimeout = 5000;

    /**
     * 读取超时时间（毫秒）
     */
    private int readTimeout = 10000;

    /**
     * 最大重试次数
     */
    private int maxRetries = 3;

    @Data
    public static class OcrKeyConfig {
        /**
         * 访问密钥 ID
         */
        private String accessKeyId;

        /**
         * 访问密钥密码
         */
        private String accessKeySecret;

        /**
         * 区域
         */
        private String region = "cn-shanghai";

        /**
         * 服务端点
         */
        private String endpoint = "ocr.cn-shanghai.aliyuncs.com";
    }
} 